home *** CD-ROM | disk | FTP | other *** search
- property pS, cX, cY, r, deg, pPlane
-
- on getPropertyDescriptionList
- description = [:]
- addProp(description, #pPlane, [#default: EMPTY, #format: #string, #comment: "XZ Plane:", #range: ["X", "Z"]])
- return description
- end
-
- on beginSprite me
- pS = me.spriteNum
- cX = sprite(pS).locH
- cY = sprite(pS).locV
- r = sprite(pS).width / 2
- deg = 0
- end
-
- on exitFrame me
- if deg >= 360 then
- deg = 0
- end if
- shallow = 10
- t = (deg + 0) * PI / 180
- x1 = cX + (r * cos(t))
- y1 = r * sin(t) / shallow
- t = (deg + 90) * PI / 180
- x2 = cX + (r * cos(t))
- y2 = r * sin(t) / shallow
- t = (deg + 180) * PI / 180
- x3 = cX + (r * cos(t))
- y3 = r * sin(t) / shallow
- t = (deg + 270) * PI / 180
- x4 = cX + (r * cos(t))
- y4 = r * sin(t) / shallow
- case pPlane of
- "X":
- qList = sprite(pS).quad
- qList[1] = point(x2, cY - (r / 2) - y1)
- qList[2] = point(x4, cY - (r / 2) + y1)
- qList[3] = point(x4, cY + (r / 2) - y1)
- qList[4] = point(x2, cY + (r / 2) + y1)
- sprite(pS).quad = qList
- "Z":
- qList = sprite(pS).quad
- qList[1] = point(x3, cY - (r / 2) + y1)
- qList[2] = point(x1, cY - (r / 2) - y1)
- qList[3] = point(x1, cY + (r / 2) + y1)
- qList[4] = point(x3, cY + (r / 2) - y1)
- sprite(pS).quad = qList
- end case
- deg = deg + 1
- end
-